package com.burst.reptile.modular.zp.service;

import com.burst.reptile.modular.zp.entity.ZpComment;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * <p>
 * 评论列表 服务类
 * </p>
 *
 * @author wujin
 * @since 2020-06-30
 */
public interface IZpCommentService extends IService<ZpComment> {
	
	/**
	 * 新增评论
	 * @param comment
	 * @return
	 */
	String add(ZpComment comment);

	/**
	 * 新增回复评论
	 * @param comment
	 * @return
	 */
	String reply(ZpComment comment);

	/**
	 * 分页获取评论列表
	 * @param page 分页信息
	 * @param id 文章ID
	 * @param order 排序规则
	 * @return
	 */
	Page<ZpComment> pageList(Page<ZpComment> page, String id, String order);

	/**
	 * 删除评论或者回复
	 * @param id ID
	 * @return
	 */
	int del(String id);

	/**
	 * 获取文章评论数
	 * @param id 文章ID
	 * @return
	 */
	String getCommentNum(String id);

	/**
	 * 分页获取回复列表
	 * @param page 分页信息
	 * @param id 评论ID
	 * @return
	 */
	Page<ZpComment> pageReplyList(Page<ZpComment> page, String id);

	/**
	 * 添加评论
	 * @param comment
	 * @return
	 */
	String wxAdd(ZpComment comment);

	/**
	 * 删除评论
	 * @param id
	 * @param userId
	 * @return
	 */
	int wxdel(String id, Long userId);

	/**
	 * 获取用户评论列表
	 * @param page 分页信息
	 * @param comment 查询条件
	 * @return
	 */
	Page<ZpComment> pageList(Page<ZpComment> page, ZpComment comment);

}
